/**
 * Author@ Cheng Feitian
 * Date: 2020-3-23
 * Description: 点和圆的关系
 */

#include <algorithm>
#include <iostream>
#include <string>
#include <cmath>
#include "point.h"
#include "circle.h"

using namespace std;
const int maxn = 1024;

// class Point
// {
// private:
//     //点的x，y坐标
//     int m_X;
//     int m_Y;

// public:
//     void setX(int X)
//     {
//         m_X = X;
//     }
//     int getX()
//     {
//         return m_X;
//     }
//     void setY(int Y)
//     {
//         m_Y = Y;
//     }
//     int getY()
//     {
//         return m_Y;
//     }
// };

// class Circle
// {
// private:
//     // radius
//     int m_Radius;

//     Point m_Center;

// public:
//     void setRadius(int radius)
//     {
//         m_Radius = radius;
//     }
//     int getRadius()
//     {
//         return m_Radius;
//     }
//     void setCenter(Point Center)
//     {
//         m_Center = Center;
//     }
//     Point getCenter()
//     {
//         return m_Center;
//     }
// };

int compare(Point &p, Circle &c)
{
    Point temp = c.getCenter();
    int ret = sqrt(pow(temp.getX() - p.getX(), 2) + pow(temp.getY() - p.getY(), 2)) - c.getRadius();
    return ret;
}

int main()
{
    Point p1;
    p1.setX(1);
    p1.setY(1);

    Circle c;
    Point p2;
    p2.setX(0);
    p2.setY(0);
    c.setRadius(1);
    c.setCenter(p2);

    int ret = compare(p1, c);
    if (ret > 0)
    {
        cout << "点在圆外" << endl;
    }
    else if (ret == 0)
    {
        cout << "点在圆上" << endl;
    }
    else if (ret < 0)
    {
        cout << "点在圆内" << endl;
    }

    return 0;
}
